#ifndef __T_MEDIO__
#define __T_MEDIO__

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MEDIO_DEBUG 0
#define MAX_PLACAS 20
#define MTU 128
#define MEDIO_OK 0;
#define MEDIO_ERR_MEMORIA 1;
#define MEDIO_ERR_PLACA_CONECTADA 2;
#define MEDIO_ERR_TRANSMITIR 3;

typedef struct s_placa TPlaca;

typedef struct s_medio {
	TPlaca* placas_conectadas[MAX_PLACAS];
	int cantidad_placas_conectadas;
} TMedio;

int Medio_Crear(TMedio* medio);
int Medio_Destruir(TMedio* medio);
int Medio_Transmitir(TMedio* medio, void* mensaje, size_t tam);
int Medio_Conectar(TMedio* medio, TPlaca* placa);
int Medio_Desconectar(TMedio* medio, TPlaca* placa);
size_t Medio_ContarConectadas(TMedio* medio);

#endif
